package org.brownflat.lighthouse.monitor;

import org.brownflat.lighthouse.action.Action;
import org.brownflat.lighthouse.ci.Monitorable;
import org.brownflat.lighthouse.device.Device;

import java.io.Serializable;

public interface LighthouseTask extends Runnable, Serializable {
	String getName();
    void setName(String name);
    Monitorable getMonitorable();
    void setMonitorable(Monitorable monitorable);
    Device getDevice();
    void setDevice(Device device);
    boolean isBroken();
    void setBroken(boolean broken);
    Action getWhenResetNeeded();
    void setWhenResetNeeded(Action whenResetNeeded);
    Action getWhenFalse();
    void setWhenFalse(Action whenFalse);
    Action getWhenTrue();
    void setWhenTrue(Action whenTrue);
}
